With the increase of networked (both wired and wireless) and distributed computing environments (e.g. the Internet, mobile or cellular networks, office internets or intranets, etc.) the need to transfer data between computing devices has similarly increased. Commensurate with the increased need to transfer this data, the size of the data that it is desired to transfer has also increased. This combination has resulted in undesirable latency issues in the transfer of this data.
More specifically, as the distance of over which it is desired to transfer data increases, the latency of the file transfer may similarly increase due to increased network latency. This network latency may be due to a number of factors such as an increase in the number of hops required for the data transfer, a greater likelihood of network congestion on an intermediary networked, varying capacity on intermediary networks or a whole host of other factors.
To exacerbate the problem, the latency added by the distance of the transferred may be even more noticeable when large amount of data are transferred. For example, a 20 millisecond difference in the transfer speed of a packet may not be particularly noticeable when transferring a 2 MB file, however when transferring a 5 GB file such latency may be become quite problematic.
While certain solutions to address or reduce the effects of latency issue have been built for specific applications, these solutions usually require certain hardware components or rely on the compression of data. However, not all data is compressible and the installation of hardware modules at one or both ends of a network connection may not always be feasible.
Accordingly, it is desired to implement effective, reliable or general purpose solutions for reducing the effects of network latency in data transfers.